#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <strings.h>
#include <sys/types.h>

int main(void)
{
    // 给管道写数据，有读者，缓冲区已满，阻塞

	// 创建匿名管道
	int fd[2];
	pipe(fd);
	// 子进程
	if(fork() == 0)
	{
		close(fd[0]); // 只需要用到写端，不需要读端就关闭
		int cnt = 0;
		
		while(1)
		{
			write(fd[1], &cnt, sizeof(int));
			printf("cnt: %d，字节数为%d\n", ++cnt,cnt*4);
		}

		exit(0);
	}
	// 父进程
	else
	{
		close(fd[1]);  // 只需要用到读端，不需要写端就关闭
		
		printf("父进程已运行\n");
		while(1)
		{}
		
		exit(0);
	}
	
	return 0;

}